package io.finer.erp.jeecg.stock.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description: 库存
 * @Author: jeecg-boot
 * @Date:   2020-04-11
 * @Version: V1.0
 */
@Data
@TableName("stk_inventory")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="stk_inventory对象", description="库存")
public class StkMaterielStorage implements Serializable {
    private static final long serialVersionUID = 1L;

	/**ID*/
	@TableId(type = IdType.ID_WORKER_STR)
    @ApiModelProperty(value = "ID")
    private String id;
	/**仓库*/
	@Excel(name = "仓库", width = 15, dictTable = "bas_warehouse", dicText = "name", dicCode = "id")
	@Dict(dictTable = "bas_warehouse", dicText = "name", dicCode = "id")
    @ApiModelProperty(value = "仓库")
    private String warehouseId;
	/**物料*/
	@Excel(name = "物料", width = 15, dictTable = "bas_material", dicText = "name", dicCode = "id")
	@Dict(dictTable = "bas_material", dicText = "name", dicCode = "id")
    @ApiModelProperty(value = "物料")
    private String materialId;
	/**编码*/
	@Excel(name = "物料编码", width = 15)
	@ApiModelProperty(value = "物料编码")
	private java.lang.String materialCode;
	/**名称*/
	@Excel(name = "物料名称", width = 15)
	@ApiModelProperty(value = "物料名称")
	private java.lang.String materialName;
	/**计量单位*/
	@Excel(name = "计量单位", width = 15, dictTable = "bas_measure_unit", dicText = "name", dicCode = "id")
	@Dict(dictTable = "bas_measure_unit", dicText = "name", dicCode = "id")
    @ApiModelProperty(value = "计量单位")
    private String unitId;
	/**数量*/
	@Excel(name = "数量", width = 15)
    @ApiModelProperty(value = "数量")
    private BigDecimal qty;
	/**创建人*/
	@Excel(name = "创建人", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
	@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
	@ApiModelProperty(value = "创建人")
	private String createBy;
	/**创建时间*/
	@Excel(name = "创建时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern="yyyy-MM-dd")
	@ApiModelProperty(value = "创建时间")
	private Date createTime;
	/**修改人*/
	@Excel(name = "修改人", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
	@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
	@ApiModelProperty(value = "修改人")
	private String updateBy;
	/**修改时间*/
	@Excel(name = "修改时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern="yyyy-MM-dd")
	@ApiModelProperty(value = "修改时间")
	private Date updateTime;
	private java.lang.Integer isStop;
	/**物料长度*/
	@Excel(name = "物料长度（厘米）", width = 15)
	@ApiModelProperty(value = "物料长度")
	private java.math.BigDecimal length;
	/**物料宽度*/
	@Excel(name = "物料宽度（厘米）", width = 15)
	@ApiModelProperty(value = "物料宽度")
	private java.math.BigDecimal width;
	/**配方ID*/
	@Excel(name = "配方", width = 15, dictTable = "bas_product_formula", dicText = "pf_name", dicCode = "id")
	@Dict(dictTable = "bas_product_formula", dicText = "pf_name", dicCode = "id")
	@ApiModelProperty(value = "配方")
	private java.lang.String formulaId;
	@TableField(exist = false)
	@Dict(dictTable = "bas_customer", dicText = "name", dicCode = "id")
	private String customerId;
	@TableField(exist = false)
	private String remark;
	/**总金额*/
	@TableField(exist = false)
	private BigDecimal sumCost;
	/**平均单价*/
	@TableField(exist = false)
	private BigDecimal unitCost;
	@TableField(exist = false)
	private String fhProductDate;
	@TableField(exist = false)
	private String fqProductDate;
	@TableField(exist = false)
	private String qzProductDate;
	@TableField(exist = false)
	private String count;
	@TableField(exist = false)
	private String column;
	@TableField(exist = false)
	private String order;
	
	private String pid;
	
	@TableField(exist = false)
	private String width_begin;
	@TableField(exist = false)
	private String width_end;
}
